/*
  直播旁路推流：
    {
      width: 360,     // 设置旁路直播的输出码流的宽度。默认值为 360
      height:360,    // 设置旁路直播的输出码流的高度。默认值为 640
      fps:15,            // 设置旁路直播的输出码流的帧率。默认值为 15 fps
      kbps: 500       // 设置旁路直播的输出码流的码率。默认值为 500 Kbps
    }
 */
// https://docs.agora.io/cn/Voice/API%20Reference/web/interfaces/agorartc.stream.html#setvideoprofile
const videoProfiles = {
  '480p_15': '480p_1',
  '480p_30': '480p_4',
  '720p_15': '720p_1',
  '720p_30': '720p_3'
}

// 频道模式
const modeTypes = {
  modeLive: 'live',
  modeRtc: 'rtc' // mode 设为 "rtc"时，不支持 Agora 录制 SDK
}

// 频道模式类型
const codecTypes = {
  codecVp8: 'vp8',
  codecH264: 'h264'
}

// 视频播放时的显示模式
const videoFits = {

  // 优先保证视窗被填满。视频尺寸等比缩放，直至整个视窗被视频填满。如果视频长宽与显示窗口不同，则视频流会按照显示视窗的比例进行周边裁剪或图像拉伸后填满视窗
  cover: 'cover ',

  // 优先保证视频内容全部显示。视频尺寸等比缩放，直至视频窗口的一边与视窗边框对齐。如果视频尺寸与显示视窗尺寸不一致，在保持长宽比的前提下，将视频进行缩放后填满视窗，缩放后的视频四周会有一圈黑边
  contain: 'contain '

}

// 视频模式
const videoModes = {
  // 视频
  video: 'video',

  // 音频
  audio: 'audio-only',

  // 观众
  audience: 'audience'
}

const agoraConfig = {
  /*
    频道模式，可在两种场景中选择：
      "live": 直播模式（与 Native SDK 互通）
      "rtc": 通信模式（暂不与 Native SDK 互通）
   */
  mode: modeTypes.modeLive,
  /*
    浏览器使用的编解码 Codec，有以下两种选择：
      "vp8": 浏览器使用 VP8 编解码
      "h264": 浏览器使用 H264 编解码
   */
  codec: codecTypes.codecH264

}

export {
  videoProfiles,
  modeTypes,
  codecTypes,
  videoFits,
  videoModes,
  agoraConfig
}

export default agoraConfig
